﻿using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;

namespace DynaSpace.SampleMenu
{
	public class SampleMenuComponent : DynaComponentBase
	{
		Menu.MenuContainer mainMenu, helpMenu;

		public SampleMenuComponent(DynaGame game)
			: base(game) {
			
		}

		public override void Initialize()
		{
			mainMenu = new DynaSpace.Menu.MenuContainer("main", true); // vytvořit menu
			mainMenu.AutoHeight = false; // vypnout automatické nastavování výšky (kvůli centrování nalevo jako pruh)
			mainMenu.CenterLeft(0); // "přilepit" na levou polovinu obrazovky
			mainMenu.Items.Add(new Menu.MenuHeader("Hlavní menu")); // nadpis
			mainMenu.Items.Add(new Menu.MenuLabel("Testovací popisek")); // popisek
			mainMenu.Items.Add(new Menu.MenuButton("Tlačítko 1", new Action<Menu.MenuButton>((mb) => mb.Text = "Stisknuto!"))); // tlačítko
			mainMenu.Items.Add(new Menu.MenuButton("Tlačítko 2", new Action<Menu.MenuButton>((mb) => mb.Text = "Stisknuto!"))); // tlačítko
			mainMenu.Items.Add(new Menu.MenuButton("Tlačítko 3", new Action<Menu.MenuButton>((mb) => mb.Text = "Stisknuto!"))); // tlačítko
			mainMenu.Items.Add(new Menu.MenuButton("Tlačítko 4", new Action<Menu.MenuButton>((mb) => mb.Text = "Stisknuto!"))); // tlačítko
			mainMenu.Items.Add(new Menu.MenuButton("Menu doleva", new Action(() => mainMenu.CenterLeft(0)))); // tlačítko - zarovnat doleva
			mainMenu.Items.Add(new Menu.MenuButton("Menu doprava", new Action(() => mainMenu.CenterRight(0)))); // tlačítko - zarovnat doprava
			mainMenu.Items.Add(new Menu.MenuButton("Nápověda", new Action(() => helpMenu.Visible = true))); // tlačítko - zobrazit submenu
			mainMenu.Items.Add(new Menu.MenuButton("Konec hry", new Action(()=> Game.Exit()))); // tlačítko - konec hry
			Game.Menus.Items.AddLast(mainMenu); // přidat menu do hry

			helpMenu = new DynaSpace.Menu.MenuContainer("help", false); // vytvořit skryté menu nápovědy
			helpMenu.Items.Add(new Menu.MenuHeader("Nápověda")); // nadpis
			helpMenu.Items.Add(new Menu.MenuLabel("Tohle je nápověda")); // popisek
			helpMenu.Items.Add(new MojePolozkaMenu()); // vlastni ovladaci prvek
			helpMenu.Items.Add(new Menu.MenuButton("Zpět", new Action(() => helpMenu.Visible = false))); // schovat menu
			helpMenu.Center(); // vycentrovat na střed
			Game.Menus.Items.AddLast(helpMenu); // přidat menu do hry

			base.Initialize();
		}
	}
}
